/* Copyright 2018 JDCLOUD.COM

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http:#www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

JDFusion
云主机、网卡、云硬盘、网络与相关、关系型数据库、对象存储等相关的接口

OpenAPI spec version: v1
Contact: 

NOTE: This class is auto generated by the jdcloud code generator program.
*/


#ifndef JdfusionClient_h
#define JdfusionClient_h


#import <JDCloudOCSDKCore/JDCloudOCSDKCore.h>
#import <JDCloudOCSDKJdfusion/JdfusionApiModel.h>

@interface JdfusionClient : NSObject<JDCloudClient>{
    @private
    NSString* _userAgent;
    NSString* _serviceName;
    NSString* _version;
    }

    @property (strong,readonly,nonatomic) NSString* userAgent;

    @property (strong,readonly,nonatomic) NSString* serviceName;

    @property (strong,readonly,nonatomic) NSString* version;

    @property (strong,nonatomic) NSString* contentType;

    @property (strong,nonatomic) Credential* credential;

    @property (strong,nonatomic) SDKEnvironment* sdkEnvironment;

    @property (strong,nonatomic) NSMutableDictionary* customHeader;

    @property  (strong,nonatomic) NSString* httpRequestProtocol;

    -(void) addCustomerHeaderWithKey:(NSString*) key
    value:(NSString*) value;

    -(id)initWithGlobalConfig;

    -(id)initWithCredential:(Credential*)credential
    sdkEnvironment:(SDKEnvironment*)sdkEnvironment;
    -(id)initWithCredential:(Credential*)credential;
    /**
    startVmInstanceById sync request
    @param startVmInstanceByIdRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `startVmInstanceByIdResponse` the request response data model
    */
    -(NSDictionary*) startVmInstanceByIdSyncWithRequest:(JdfusionStartVmInstanceByIdRequest*) startVmInstanceByIdRequest;

    -(void)startVmInstanceByIdAsyncWithRequest:(JdfusionStartVmInstanceByIdRequest*) startVmInstanceByIdRequest
    completionHandler:(void(^)(int statusCode,JdfusionStartVmInstanceByIdResponse* _Nullable startVmInstanceByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    deleteRdsAccount sync request
    @param deleteRdsAccountRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteRdsAccountResponse` the request response data model
    */
    -(NSDictionary*) deleteRdsAccountSyncWithRequest:(JdfusionDeleteRdsAccountRequest*) deleteRdsAccountRequest;

    -(void)deleteRdsAccountAsyncWithRequest:(JdfusionDeleteRdsAccountRequest*) deleteRdsAccountRequest
    completionHandler:(void(^)(int statusCode,JdfusionDeleteRdsAccountResponse* _Nullable deleteRdsAccountResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    createDeployment sync request
    @param createDeploymentRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createDeploymentResponse` the request response data model
    */
    -(NSDictionary*) createDeploymentSyncWithRequest:(JdfusionCreateDeploymentRequest*) createDeploymentRequest;

    -(void)createDeploymentAsyncWithRequest:(JdfusionCreateDeploymentRequest*) createDeploymentRequest
    completionHandler:(void(^)(int statusCode,JdfusionCreateDeploymentResponse* _Nullable createDeploymentResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    getBucketByName sync request
    @param getBucketByNameRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getBucketByNameResponse` the request response data model
    */
    -(NSDictionary*) getBucketByNameSyncWithRequest:(JdfusionGetBucketByNameRequest*) getBucketByNameRequest;

    -(void)getBucketByNameAsyncWithRequest:(JdfusionGetBucketByNameRequest*) getBucketByNameRequest
    completionHandler:(void(^)(int statusCode,JdfusionGetBucketByNameResponse* _Nullable getBucketByNameResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    getTaskInfoHistoryById sync request
    @param getTaskInfoHistoryByIdRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getTaskInfoHistoryByIdResponse` the request response data model
    */
    -(NSDictionary*) getTaskInfoHistoryByIdSyncWithRequest:(JdfusionGetTaskInfoHistoryByIdRequest*) getTaskInfoHistoryByIdRequest;

    -(void)getTaskInfoHistoryByIdAsyncWithRequest:(JdfusionGetTaskInfoHistoryByIdRequest*) getTaskInfoHistoryByIdRequest
    completionHandler:(void(^)(int statusCode,JdfusionGetTaskInfoHistoryByIdResponse* _Nullable getTaskInfoHistoryByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    getVmInstances sync request
    @param getVmInstancesRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getVmInstancesResponse` the request response data model
    */
    -(NSDictionary*) getVmInstancesSyncWithRequest:(JdfusionGetVmInstancesRequest*) getVmInstancesRequest;

    -(void)getVmInstancesAsyncWithRequest:(JdfusionGetVmInstancesRequest*) getVmInstancesRequest
    completionHandler:(void(^)(int statusCode,JdfusionGetVmInstancesResponse* _Nullable getVmInstancesResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    getDeploymentsResultsByIdRecord sync request
    @param getDeploymentsResultsByIdRecordRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getDeploymentsResultsByIdRecordResponse` the request response data model
    */
    -(NSDictionary*) getDeploymentsResultsByIdRecordSyncWithRequest:(JdfusionGetDeploymentsResultsByIdRecordRequest*) getDeploymentsResultsByIdRecordRequest;

    -(void)getDeploymentsResultsByIdRecordAsyncWithRequest:(JdfusionGetDeploymentsResultsByIdRecordRequest*) getDeploymentsResultsByIdRecordRequest
    completionHandler:(void(^)(int statusCode,JdfusionGetDeploymentsResultsByIdRecordResponse* _Nullable getDeploymentsResultsByIdRecordResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    rollbackDeploymentsVersion sync request
    @param rollbackDeploymentsVersionRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `rollbackDeploymentsVersionResponse` the request response data model
    */
    -(NSDictionary*) rollbackDeploymentsVersionSyncWithRequest:(JdfusionRollbackDeploymentsVersionRequest*) rollbackDeploymentsVersionRequest;

    -(void)rollbackDeploymentsVersionAsyncWithRequest:(JdfusionRollbackDeploymentsVersionRequest*) rollbackDeploymentsVersionRequest
    completionHandler:(void(^)(int statusCode,JdfusionRollbackDeploymentsVersionResponse* _Nullable rollbackDeploymentsVersionResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    getRdsDatabaseByInstIdAndDbName sync request
    @param getRdsDatabaseByInstIdAndDbNameRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getRdsDatabaseByInstIdAndDbNameResponse` the request response data model
    */
    -(NSDictionary*) getRdsDatabaseByInstIdAndDbNameSyncWithRequest:(JdfusionGetRdsDatabaseByInstIdAndDbNameRequest*) getRdsDatabaseByInstIdAndDbNameRequest;

    -(void)getRdsDatabaseByInstIdAndDbNameAsyncWithRequest:(JdfusionGetRdsDatabaseByInstIdAndDbNameRequest*) getRdsDatabaseByInstIdAndDbNameRequest
    completionHandler:(void(^)(int statusCode,JdfusionGetRdsDatabaseByInstIdAndDbNameResponse* _Nullable getRdsDatabaseByInstIdAndDbNameResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    getDeploymentVersions sync request
    @param getDeploymentVersionsRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getDeploymentVersionsResponse` the request response data model
    */
    -(NSDictionary*) getDeploymentVersionsSyncWithRequest:(JdfusionGetDeploymentVersionsRequest*) getDeploymentVersionsRequest;

    -(void)getDeploymentVersionsAsyncWithRequest:(JdfusionGetDeploymentVersionsRequest*) getDeploymentVersionsRequest
    completionHandler:(void(^)(int statusCode,JdfusionGetDeploymentVersionsResponse* _Nullable getDeploymentVersionsResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    getVpcById sync request
    @param getVpcByIdRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getVpcByIdResponse` the request response data model
    */
    -(NSDictionary*) getVpcByIdSyncWithRequest:(JdfusionGetVpcByIdRequest*) getVpcByIdRequest;

    -(void)getVpcByIdAsyncWithRequest:(JdfusionGetVpcByIdRequest*) getVpcByIdRequest
    completionHandler:(void(^)(int statusCode,JdfusionGetVpcByIdResponse* _Nullable getVpcByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    getRdsAccountsByInstIdAndAccountName sync request
    @param getRdsAccountsByInstIdAndAccountNameRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getRdsAccountsByInstIdAndAccountNameResponse` the request response data model
    */
    -(NSDictionary*) getRdsAccountsByInstIdAndAccountNameSyncWithRequest:(JdfusionGetRdsAccountsByInstIdAndAccountNameRequest*) getRdsAccountsByInstIdAndAccountNameRequest;

    -(void)getRdsAccountsByInstIdAndAccountNameAsyncWithRequest:(JdfusionGetRdsAccountsByInstIdAndAccountNameRequest*) getRdsAccountsByInstIdAndAccountNameRequest
    completionHandler:(void(^)(int statusCode,JdfusionGetRdsAccountsByInstIdAndAccountNameResponse* _Nullable getRdsAccountsByInstIdAndAccountNameResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    getVpcNetworkInterfaceById sync request
    @param getVpcNetworkInterfaceByIdRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getVpcNetworkInterfaceByIdResponse` the request response data model
    */
    -(NSDictionary*) getVpcNetworkInterfaceByIdSyncWithRequest:(JdfusionGetVpcNetworkInterfaceByIdRequest*) getVpcNetworkInterfaceByIdRequest;

    -(void)getVpcNetworkInterfaceByIdAsyncWithRequest:(JdfusionGetVpcNetworkInterfaceByIdRequest*) getVpcNetworkInterfaceByIdRequest
    completionHandler:(void(^)(int statusCode,JdfusionGetVpcNetworkInterfaceByIdResponse* _Nullable getVpcNetworkInterfaceByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    deleteSecurityGroupsRule sync request
    @param deleteSecurityGroupsRuleRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteSecurityGroupsRuleResponse` the request response data model
    */
    -(NSDictionary*) deleteSecurityGroupsRuleSyncWithRequest:(JdfusionDeleteSecurityGroupsRuleRequest*) deleteSecurityGroupsRuleRequest;

    -(void)deleteSecurityGroupsRuleAsyncWithRequest:(JdfusionDeleteSecurityGroupsRuleRequest*) deleteSecurityGroupsRuleRequest
    completionHandler:(void(^)(int statusCode,JdfusionDeleteSecurityGroupsRuleResponse* _Nullable deleteSecurityGroupsRuleResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    getDeploymentResult sync request
    @param getDeploymentResultRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getDeploymentResultResponse` the request response data model
    */
    -(NSDictionary*) getDeploymentResultSyncWithRequest:(JdfusionGetDeploymentResultRequest*) getDeploymentResultRequest;

    -(void)getDeploymentResultAsyncWithRequest:(JdfusionGetDeploymentResultRequest*) getDeploymentResultRequest
    completionHandler:(void(^)(int statusCode,JdfusionGetDeploymentResultResponse* _Nullable getDeploymentResultResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    editTransferTask sync request
    @param editTransferTaskRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `editTransferTaskResponse` the request response data model
    */
    -(NSDictionary*) editTransferTaskSyncWithRequest:(JdfusionEditTransferTaskRequest*) editTransferTaskRequest;

    -(void)editTransferTaskAsyncWithRequest:(JdfusionEditTransferTaskRequest*) editTransferTaskRequest
    completionHandler:(void(^)(int statusCode,JdfusionEditTransferTaskResponse* _Nullable editTransferTaskResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    getBuckets sync request
    @param getBucketsRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getBucketsResponse` the request response data model
    */
    -(NSDictionary*) getBucketsSyncWithRequest:(JdfusionGetBucketsRequest*) getBucketsRequest;

    -(void)getBucketsAsyncWithRequest:(JdfusionGetBucketsRequest*) getBucketsRequest
    completionHandler:(void(^)(int statusCode,JdfusionGetBucketsResponse* _Nullable getBucketsResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    rebootVmInstanceById sync request
    @param rebootVmInstanceByIdRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `rebootVmInstanceByIdResponse` the request response data model
    */
    -(NSDictionary*) rebootVmInstanceByIdSyncWithRequest:(JdfusionRebootVmInstanceByIdRequest*) rebootVmInstanceByIdRequest;

    -(void)rebootVmInstanceByIdAsyncWithRequest:(JdfusionRebootVmInstanceByIdRequest*) rebootVmInstanceByIdRequest
    completionHandler:(void(^)(int statusCode,JdfusionRebootVmInstanceByIdResponse* _Nullable rebootVmInstanceByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    startTransferTask sync request
    @param startTransferTaskRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `startTransferTaskResponse` the request response data model
    */
    -(NSDictionary*) startTransferTaskSyncWithRequest:(JdfusionStartTransferTaskRequest*) startTransferTaskRequest;

    -(void)startTransferTaskAsyncWithRequest:(JdfusionStartTransferTaskRequest*) startTransferTaskRequest
    completionHandler:(void(^)(int statusCode,JdfusionStartTransferTaskResponse* _Nullable startTransferTaskResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    grantRdsAccount sync request
    @param grantRdsAccountRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `grantRdsAccountResponse` the request response data model
    */
    -(NSDictionary*) grantRdsAccountSyncWithRequest:(JdfusionGrantRdsAccountRequest*) grantRdsAccountRequest;

    -(void)grantRdsAccountAsyncWithRequest:(JdfusionGrantRdsAccountRequest*) grantRdsAccountRequest
    completionHandler:(void(^)(int statusCode,JdfusionGrantRdsAccountResponse* _Nullable grantRdsAccountResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    createVpcNetworkInterface sync request
    @param createVpcNetworkInterfaceRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createVpcNetworkInterfaceResponse` the request response data model
    */
    -(NSDictionary*) createVpcNetworkInterfaceSyncWithRequest:(JdfusionCreateVpcNetworkInterfaceRequest*) createVpcNetworkInterfaceRequest;

    -(void)createVpcNetworkInterfaceAsyncWithRequest:(JdfusionCreateVpcNetworkInterfaceRequest*) createVpcNetworkInterfaceRequest
    completionHandler:(void(^)(int statusCode,JdfusionCreateVpcNetworkInterfaceResponse* _Nullable createVpcNetworkInterfaceResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    createRdsDatabase sync request
    @param createRdsDatabaseRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createRdsDatabaseResponse` the request response data model
    */
    -(NSDictionary*) createRdsDatabaseSyncWithRequest:(JdfusionCreateRdsDatabaseRequest*) createRdsDatabaseRequest;

    -(void)createRdsDatabaseAsyncWithRequest:(JdfusionCreateRdsDatabaseRequest*) createRdsDatabaseRequest
    completionHandler:(void(^)(int statusCode,JdfusionCreateRdsDatabaseResponse* _Nullable createRdsDatabaseResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    stopSlbListener sync request
    @param stopSlbListenerRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `stopSlbListenerResponse` the request response data model
    */
    -(NSDictionary*) stopSlbListenerSyncWithRequest:(JdfusionStopSlbListenerRequest*) stopSlbListenerRequest;

    -(void)stopSlbListenerAsyncWithRequest:(JdfusionStopSlbListenerRequest*) stopSlbListenerRequest
    completionHandler:(void(^)(int statusCode,JdfusionStopSlbListenerResponse* _Nullable stopSlbListenerResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    getDeploymentsById sync request
    @param getDeploymentsByIdRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getDeploymentsByIdResponse` the request response data model
    */
    -(NSDictionary*) getDeploymentsByIdSyncWithRequest:(JdfusionGetDeploymentsByIdRequest*) getDeploymentsByIdRequest;

    -(void)getDeploymentsByIdAsyncWithRequest:(JdfusionGetDeploymentsByIdRequest*) getDeploymentsByIdRequest
    completionHandler:(void(^)(int statusCode,JdfusionGetDeploymentsByIdResponse* _Nullable getDeploymentsByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    getDeployments sync request
    @param getDeploymentsRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getDeploymentsResponse` the request response data model
    */
    -(NSDictionary*) getDeploymentsSyncWithRequest:(JdfusionGetDeploymentsRequest*) getDeploymentsRequest;

    -(void)getDeploymentsAsyncWithRequest:(JdfusionGetDeploymentsRequest*) getDeploymentsRequest
    completionHandler:(void(^)(int statusCode,JdfusionGetDeploymentsResponse* _Nullable getDeploymentsResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    getRdsSpecification sync request
    @param getRdsSpecificationRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getRdsSpecificationResponse` the request response data model
    */
    -(NSDictionary*) getRdsSpecificationSyncWithRequest:(JdfusionGetRdsSpecificationRequest*) getRdsSpecificationRequest;

    -(void)getRdsSpecificationAsyncWithRequest:(JdfusionGetRdsSpecificationRequest*) getRdsSpecificationRequest
    completionHandler:(void(^)(int statusCode,JdfusionGetRdsSpecificationResponse* _Nullable getRdsSpecificationResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    validCloudInfo sync request
    @param validCloudInfoRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `validCloudInfoResponse` the request response data model
    */
    -(NSDictionary*) validCloudInfoSyncWithRequest:(JdfusionValidCloudInfoRequest*) validCloudInfoRequest;

    -(void)validCloudInfoAsyncWithRequest:(JdfusionValidCloudInfoRequest*) validCloudInfoRequest
    completionHandler:(void(^)(int statusCode,JdfusionValidCloudInfoResponse* _Nullable validCloudInfoResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    startChannel sync request
    @param startChannelRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `startChannelResponse` the request response data model
    */
    -(NSDictionary*) startChannelSyncWithRequest:(JdfusionStartChannelRequest*) startChannelRequest;

    -(void)startChannelAsyncWithRequest:(JdfusionStartChannelRequest*) startChannelRequest
    completionHandler:(void(^)(int statusCode,JdfusionStartChannelResponse* _Nullable startChannelResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    deleteVserverGroup sync request
    @param deleteVserverGroupRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteVserverGroupResponse` the request response data model
    */
    -(NSDictionary*) deleteVserverGroupSyncWithRequest:(JdfusionDeleteVserverGroupRequest*) deleteVserverGroupRequest;

    -(void)deleteVserverGroupAsyncWithRequest:(JdfusionDeleteVserverGroupRequest*) deleteVserverGroupRequest
    completionHandler:(void(^)(int statusCode,JdfusionDeleteVserverGroupResponse* _Nullable deleteVserverGroupResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    createVmKeypair sync request
    @param createVmKeypairRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createVmKeypairResponse` the request response data model
    */
    -(NSDictionary*) createVmKeypairSyncWithRequest:(JdfusionCreateVmKeypairRequest*) createVmKeypairRequest;

    -(void)createVmKeypairAsyncWithRequest:(JdfusionCreateVmKeypairRequest*) createVmKeypairRequest
    completionHandler:(void(^)(int statusCode,JdfusionCreateVmKeypairResponse* _Nullable createVmKeypairResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    createChannel sync request
    @param createChannelRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createChannelResponse` the request response data model
    */
    -(NSDictionary*) createChannelSyncWithRequest:(JdfusionCreateChannelRequest*) createChannelRequest;

    -(void)createChannelAsyncWithRequest:(JdfusionCreateChannelRequest*) createChannelRequest
    completionHandler:(void(^)(int statusCode,JdfusionCreateChannelResponse* _Nullable createChannelResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    getVmKeypairsByName sync request
    @param getVmKeypairsByNameRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getVmKeypairsByNameResponse` the request response data model
    */
    -(NSDictionary*) getVmKeypairsByNameSyncWithRequest:(JdfusionGetVmKeypairsByNameRequest*) getVmKeypairsByNameRequest;

    -(void)getVmKeypairsByNameAsyncWithRequest:(JdfusionGetVmKeypairsByNameRequest*) getVmKeypairsByNameRequest
    completionHandler:(void(^)(int statusCode,JdfusionGetVmKeypairsByNameResponse* _Nullable getVmKeypairsByNameResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    deleteVpcEipById sync request
    @param deleteVpcEipByIdRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteVpcEipByIdResponse` the request response data model
    */
    -(NSDictionary*) deleteVpcEipByIdSyncWithRequest:(JdfusionDeleteVpcEipByIdRequest*) deleteVpcEipByIdRequest;

    -(void)deleteVpcEipByIdAsyncWithRequest:(JdfusionDeleteVpcEipByIdRequest*) deleteVpcEipByIdRequest
    completionHandler:(void(^)(int statusCode,JdfusionDeleteVpcEipByIdResponse* _Nullable deleteVpcEipByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    reverseDeployment sync request
    @param reverseDeploymentRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `reverseDeploymentResponse` the request response data model
    */
    -(NSDictionary*) reverseDeploymentSyncWithRequest:(JdfusionReverseDeploymentRequest*) reverseDeploymentRequest;

    -(void)reverseDeploymentAsyncWithRequest:(JdfusionReverseDeploymentRequest*) reverseDeploymentRequest
    completionHandler:(void(^)(int statusCode,JdfusionReverseDeploymentResponse* _Nullable reverseDeploymentResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    getTransferTaskById sync request
    @param getTransferTaskByIdRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getTransferTaskByIdResponse` the request response data model
    */
    -(NSDictionary*) getTransferTaskByIdSyncWithRequest:(JdfusionGetTransferTaskByIdRequest*) getTransferTaskByIdRequest;

    -(void)getTransferTaskByIdAsyncWithRequest:(JdfusionGetTransferTaskByIdRequest*) getTransferTaskByIdRequest
    completionHandler:(void(^)(int statusCode,JdfusionGetTransferTaskByIdResponse* _Nullable getTransferTaskByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    getVpcSubnets sync request
    @param getVpcSubnetsRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getVpcSubnetsResponse` the request response data model
    */
    -(NSDictionary*) getVpcSubnetsSyncWithRequest:(JdfusionGetVpcSubnetsRequest*) getVpcSubnetsRequest;

    -(void)getVpcSubnetsAsyncWithRequest:(JdfusionGetVpcSubnetsRequest*) getVpcSubnetsRequest
    completionHandler:(void(^)(int statusCode,JdfusionGetVpcSubnetsResponse* _Nullable getVpcSubnetsResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    createVpcLBHttpListener sync request
    @param createVpcLBHttpListenerRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createVpcLBHttpListenerResponse` the request response data model
    */
    -(NSDictionary*) createVpcLBHttpListenerSyncWithRequest:(JdfusionCreateVpcLBHttpListenerRequest*) createVpcLBHttpListenerRequest;

    -(void)createVpcLBHttpListenerAsyncWithRequest:(JdfusionCreateVpcLBHttpListenerRequest*) createVpcLBHttpListenerRequest
    completionHandler:(void(^)(int statusCode,JdfusionCreateVpcLBHttpListenerResponse* _Nullable createVpcLBHttpListenerResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    stopTransferTask sync request
    @param stopTransferTaskRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `stopTransferTaskResponse` the request response data model
    */
    -(NSDictionary*) stopTransferTaskSyncWithRequest:(JdfusionStopTransferTaskRequest*) stopTransferTaskRequest;

    -(void)stopTransferTaskAsyncWithRequest:(JdfusionStopTransferTaskRequest*) stopTransferTaskRequest
    completionHandler:(void(^)(int statusCode,JdfusionStopTransferTaskResponse* _Nullable stopTransferTaskResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    getVserverGroupsById sync request
    @param getVserverGroupsByIdRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getVserverGroupsByIdResponse` the request response data model
    */
    -(NSDictionary*) getVserverGroupsByIdSyncWithRequest:(JdfusionGetVserverGroupsByIdRequest*) getVserverGroupsByIdRequest;

    -(void)getVserverGroupsByIdAsyncWithRequest:(JdfusionGetVserverGroupsByIdRequest*) getVserverGroupsByIdRequest
    completionHandler:(void(^)(int statusCode,JdfusionGetVserverGroupsByIdResponse* _Nullable getVserverGroupsByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    deleteVpcSubnetById sync request
    @param deleteVpcSubnetByIdRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteVpcSubnetByIdResponse` the request response data model
    */
    -(NSDictionary*) deleteVpcSubnetByIdSyncWithRequest:(JdfusionDeleteVpcSubnetByIdRequest*) deleteVpcSubnetByIdRequest;

    -(void)deleteVpcSubnetByIdAsyncWithRequest:(JdfusionDeleteVpcSubnetByIdRequest*) deleteVpcSubnetByIdRequest
    completionHandler:(void(^)(int statusCode,JdfusionDeleteVpcSubnetByIdResponse* _Nullable deleteVpcSubnetByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    deleteVpcSecurityGroupById sync request
    @param deleteVpcSecurityGroupByIdRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteVpcSecurityGroupByIdResponse` the request response data model
    */
    -(NSDictionary*) deleteVpcSecurityGroupByIdSyncWithRequest:(JdfusionDeleteVpcSecurityGroupByIdRequest*) deleteVpcSecurityGroupByIdRequest;

    -(void)deleteVpcSecurityGroupByIdAsyncWithRequest:(JdfusionDeleteVpcSecurityGroupByIdRequest*) deleteVpcSecurityGroupByIdRequest
    completionHandler:(void(^)(int statusCode,JdfusionDeleteVpcSecurityGroupByIdResponse* _Nullable deleteVpcSecurityGroupByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    createVpcEip sync request
    @param createVpcEipRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createVpcEipResponse` the request response data model
    */
    -(NSDictionary*) createVpcEipSyncWithRequest:(JdfusionCreateVpcEipRequest*) createVpcEipRequest;

    -(void)createVpcEipAsyncWithRequest:(JdfusionCreateVpcEipRequest*) createVpcEipRequest
    completionHandler:(void(^)(int statusCode,JdfusionCreateVpcEipResponse* _Nullable createVpcEipResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    deleteChannel sync request
    @param deleteChannelRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteChannelResponse` the request response data model
    */
    -(NSDictionary*) deleteChannelSyncWithRequest:(JdfusionDeleteChannelRequest*) deleteChannelRequest;

    -(void)deleteChannelAsyncWithRequest:(JdfusionDeleteChannelRequest*) deleteChannelRequest
    completionHandler:(void(^)(int statusCode,JdfusionDeleteChannelResponse* _Nullable deleteChannelResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    deleteBucket sync request
    @param deleteBucketRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteBucketResponse` the request response data model
    */
    -(NSDictionary*) deleteBucketSyncWithRequest:(JdfusionDeleteBucketRequest*) deleteBucketRequest;

    -(void)deleteBucketAsyncWithRequest:(JdfusionDeleteBucketRequest*) deleteBucketRequest
    completionHandler:(void(^)(int statusCode,JdfusionDeleteBucketResponse* _Nullable deleteBucketResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    getCloudInfos sync request
    @param getCloudInfosRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getCloudInfosResponse` the request response data model
    */
    -(NSDictionary*) getCloudInfosSyncWithRequest:(JdfusionGetCloudInfosRequest*) getCloudInfosRequest;

    -(void)getCloudInfosAsyncWithRequest:(JdfusionGetCloudInfosRequest*) getCloudInfosRequest
    completionHandler:(void(^)(int statusCode,JdfusionGetCloudInfosResponse* _Nullable getCloudInfosResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    getVpcNetworkInterfaces sync request
    @param getVpcNetworkInterfacesRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getVpcNetworkInterfacesResponse` the request response data model
    */
    -(NSDictionary*) getVpcNetworkInterfacesSyncWithRequest:(JdfusionGetVpcNetworkInterfacesRequest*) getVpcNetworkInterfacesRequest;

    -(void)getVpcNetworkInterfacesAsyncWithRequest:(JdfusionGetVpcNetworkInterfacesRequest*) getVpcNetworkInterfacesRequest
    completionHandler:(void(^)(int statusCode,JdfusionGetVpcNetworkInterfacesResponse* _Nullable getVpcNetworkInterfacesResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    associateVpcEipById sync request
    @param associateVpcEipByIdRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `associateVpcEipByIdResponse` the request response data model
    */
    -(NSDictionary*) associateVpcEipByIdSyncWithRequest:(JdfusionAssociateVpcEipByIdRequest*) associateVpcEipByIdRequest;

    -(void)associateVpcEipByIdAsyncWithRequest:(JdfusionAssociateVpcEipByIdRequest*) associateVpcEipByIdRequest
    completionHandler:(void(^)(int statusCode,JdfusionAssociateVpcEipByIdResponse* _Nullable associateVpcEipByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    getRdsDatabasesByInstId sync request
    @param getRdsDatabasesByInstIdRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getRdsDatabasesByInstIdResponse` the request response data model
    */
    -(NSDictionary*) getRdsDatabasesByInstIdSyncWithRequest:(JdfusionGetRdsDatabasesByInstIdRequest*) getRdsDatabasesByInstIdRequest;

    -(void)getRdsDatabasesByInstIdAsyncWithRequest:(JdfusionGetRdsDatabasesByInstIdRequest*) getRdsDatabasesByInstIdRequest
    completionHandler:(void(^)(int statusCode,JdfusionGetRdsDatabasesByInstIdResponse* _Nullable getRdsDatabasesByInstIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    getVpcEipById sync request
    @param getVpcEipByIdRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getVpcEipByIdResponse` the request response data model
    */
    -(NSDictionary*) getVpcEipByIdSyncWithRequest:(JdfusionGetVpcEipByIdRequest*) getVpcEipByIdRequest;

    -(void)getVpcEipByIdAsyncWithRequest:(JdfusionGetVpcEipByIdRequest*) getVpcEipByIdRequest
    completionHandler:(void(^)(int statusCode,JdfusionGetVpcEipByIdResponse* _Nullable getVpcEipByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    getDeploymentsVersion sync request
    @param getDeploymentsVersionRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getDeploymentsVersionResponse` the request response data model
    */
    -(NSDictionary*) getDeploymentsVersionSyncWithRequest:(JdfusionGetDeploymentsVersionRequest*) getDeploymentsVersionRequest;

    -(void)getDeploymentsVersionAsyncWithRequest:(JdfusionGetDeploymentsVersionRequest*) getDeploymentsVersionRequest
    completionHandler:(void(^)(int statusCode,JdfusionGetDeploymentsVersionResponse* _Nullable getDeploymentsVersionResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    getDatasources sync request
    @param getDatasourcesRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getDatasourcesResponse` the request response data model
    */
    -(NSDictionary*) getDatasourcesSyncWithRequest:(JdfusionGetDatasourcesRequest*) getDatasourcesRequest;

    -(void)getDatasourcesAsyncWithRequest:(JdfusionGetDatasourcesRequest*) getDatasourcesRequest
    completionHandler:(void(^)(int statusCode,JdfusionGetDatasourcesResponse* _Nullable getDatasourcesResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    getChannels sync request
    @param getChannelsRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getChannelsResponse` the request response data model
    */
    -(NSDictionary*) getChannelsSyncWithRequest:(JdfusionGetChannelsRequest*) getChannelsRequest;

    -(void)getChannelsAsyncWithRequest:(JdfusionGetChannelsRequest*) getChannelsRequest
    completionHandler:(void(^)(int statusCode,JdfusionGetChannelsResponse* _Nullable getChannelsResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    getVpcEips sync request
    @param getVpcEipsRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getVpcEipsResponse` the request response data model
    */
    -(NSDictionary*) getVpcEipsSyncWithRequest:(JdfusionGetVpcEipsRequest*) getVpcEipsRequest;

    -(void)getVpcEipsAsyncWithRequest:(JdfusionGetVpcEipsRequest*) getVpcEipsRequest
    completionHandler:(void(^)(int statusCode,JdfusionGetVpcEipsResponse* _Nullable getVpcEipsResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    deleteRdsDatabase sync request
    @param deleteRdsDatabaseRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteRdsDatabaseResponse` the request response data model
    */
    -(NSDictionary*) deleteRdsDatabaseSyncWithRequest:(JdfusionDeleteRdsDatabaseRequest*) deleteRdsDatabaseRequest;

    -(void)deleteRdsDatabaseAsyncWithRequest:(JdfusionDeleteRdsDatabaseRequest*) deleteRdsDatabaseRequest
    completionHandler:(void(^)(int statusCode,JdfusionDeleteRdsDatabaseResponse* _Nullable deleteRdsDatabaseResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    registCloudInfo sync request
    @param registCloudInfoRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `registCloudInfoResponse` the request response data model
    */
    -(NSDictionary*) registCloudInfoSyncWithRequest:(JdfusionRegistCloudInfoRequest*) registCloudInfoRequest;

    -(void)registCloudInfoAsyncWithRequest:(JdfusionRegistCloudInfoRequest*) registCloudInfoRequest
    completionHandler:(void(^)(int statusCode,JdfusionRegistCloudInfoResponse* _Nullable registCloudInfoResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    createVpcSlb sync request
    @param createVpcSlbRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createVpcSlbResponse` the request response data model
    */
    -(NSDictionary*) createVpcSlbSyncWithRequest:(JdfusionCreateVpcSlbRequest*) createVpcSlbRequest;

    -(void)createVpcSlbAsyncWithRequest:(JdfusionCreateVpcSlbRequest*) createVpcSlbRequest
    completionHandler:(void(^)(int statusCode,JdfusionCreateVpcSlbResponse* _Nullable createVpcSlbResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    getRdsByInstId sync request
    @param getRdsByInstIdRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getRdsByInstIdResponse` the request response data model
    */
    -(NSDictionary*) getRdsByInstIdSyncWithRequest:(JdfusionGetRdsByInstIdRequest*) getRdsByInstIdRequest;

    -(void)getRdsByInstIdAsyncWithRequest:(JdfusionGetRdsByInstIdRequest*) getRdsByInstIdRequest
    completionHandler:(void(^)(int statusCode,JdfusionGetRdsByInstIdResponse* _Nullable getRdsByInstIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    unregistCloudInfo sync request
    @param unregistCloudInfoRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `unregistCloudInfoResponse` the request response data model
    */
    -(NSDictionary*) unregistCloudInfoSyncWithRequest:(JdfusionUnregistCloudInfoRequest*) unregistCloudInfoRequest;

    -(void)unregistCloudInfoAsyncWithRequest:(JdfusionUnregistCloudInfoRequest*) unregistCloudInfoRequest
    completionHandler:(void(^)(int statusCode,JdfusionUnregistCloudInfoResponse* _Nullable unregistCloudInfoResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    attachDiskToVmInstanceByDiskId sync request
    @param attachDiskToVmInstanceByDiskIdRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `attachDiskToVmInstanceByDiskIdResponse` the request response data model
    */
    -(NSDictionary*) attachDiskToVmInstanceByDiskIdSyncWithRequest:(JdfusionAttachDiskToVmInstanceByDiskIdRequest*) attachDiskToVmInstanceByDiskIdRequest;

    -(void)attachDiskToVmInstanceByDiskIdAsyncWithRequest:(JdfusionAttachDiskToVmInstanceByDiskIdRequest*) attachDiskToVmInstanceByDiskIdRequest
    completionHandler:(void(^)(int statusCode,JdfusionAttachDiskToVmInstanceByDiskIdResponse* _Nullable attachDiskToVmInstanceByDiskIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    attachVpcNetworkInterfaceById sync request
    @param attachVpcNetworkInterfaceByIdRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `attachVpcNetworkInterfaceByIdResponse` the request response data model
    */
    -(NSDictionary*) attachVpcNetworkInterfaceByIdSyncWithRequest:(JdfusionAttachVpcNetworkInterfaceByIdRequest*) attachVpcNetworkInterfaceByIdRequest;

    -(void)attachVpcNetworkInterfaceByIdAsyncWithRequest:(JdfusionAttachVpcNetworkInterfaceByIdRequest*) attachVpcNetworkInterfaceByIdRequest
    completionHandler:(void(^)(int statusCode,JdfusionAttachVpcNetworkInterfaceByIdResponse* _Nullable attachVpcNetworkInterfaceByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    getLbHttpListener sync request
    @param getLbHttpListenerRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getLbHttpListenerResponse` the request response data model
    */
    -(NSDictionary*) getLbHttpListenerSyncWithRequest:(JdfusionGetLbHttpListenerRequest*) getLbHttpListenerRequest;

    -(void)getLbHttpListenerAsyncWithRequest:(JdfusionGetLbHttpListenerRequest*) getLbHttpListenerRequest
    completionHandler:(void(^)(int statusCode,JdfusionGetLbHttpListenerResponse* _Nullable getLbHttpListenerResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    dryrunDeployment sync request
    @param dryrunDeploymentRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `dryrunDeploymentResponse` the request response data model
    */
    -(NSDictionary*) dryrunDeploymentSyncWithRequest:(JdfusionDryrunDeploymentRequest*) dryrunDeploymentRequest;

    -(void)dryrunDeploymentAsyncWithRequest:(JdfusionDryrunDeploymentRequest*) dryrunDeploymentRequest
    completionHandler:(void(^)(int statusCode,JdfusionDryrunDeploymentResponse* _Nullable dryrunDeploymentResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    createDatasource sync request
    @param createDatasourceRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createDatasourceResponse` the request response data model
    */
    -(NSDictionary*) createDatasourceSyncWithRequest:(JdfusionCreateDatasourceRequest*) createDatasourceRequest;

    -(void)createDatasourceAsyncWithRequest:(JdfusionCreateDatasourceRequest*) createDatasourceRequest
    completionHandler:(void(^)(int statusCode,JdfusionCreateDatasourceResponse* _Nullable createDatasourceResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    getRegionsAvailableZones sync request
    @param getRegionsAvailableZonesRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getRegionsAvailableZonesResponse` the request response data model
    */
    -(NSDictionary*) getRegionsAvailableZonesSyncWithRequest:(JdfusionGetRegionsAvailableZonesRequest*) getRegionsAvailableZonesRequest;

    -(void)getRegionsAvailableZonesAsyncWithRequest:(JdfusionGetRegionsAvailableZonesRequest*) getRegionsAvailableZonesRequest
    completionHandler:(void(^)(int statusCode,JdfusionGetRegionsAvailableZonesResponse* _Nullable getRegionsAvailableZonesResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    detachDiskToVmInstanceByDiskId sync request
    @param detachDiskToVmInstanceByDiskIdRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `detachDiskToVmInstanceByDiskIdResponse` the request response data model
    */
    -(NSDictionary*) detachDiskToVmInstanceByDiskIdSyncWithRequest:(JdfusionDetachDiskToVmInstanceByDiskIdRequest*) detachDiskToVmInstanceByDiskIdRequest;

    -(void)detachDiskToVmInstanceByDiskIdAsyncWithRequest:(JdfusionDetachDiskToVmInstanceByDiskIdRequest*) detachDiskToVmInstanceByDiskIdRequest
    completionHandler:(void(^)(int statusCode,JdfusionDetachDiskToVmInstanceByDiskIdResponse* _Nullable detachDiskToVmInstanceByDiskIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    startSlbListener sync request
    @param startSlbListenerRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `startSlbListenerResponse` the request response data model
    */
    -(NSDictionary*) startSlbListenerSyncWithRequest:(JdfusionStartSlbListenerRequest*) startSlbListenerRequest;

    -(void)startSlbListenerAsyncWithRequest:(JdfusionStartSlbListenerRequest*) startSlbListenerRequest
    completionHandler:(void(^)(int statusCode,JdfusionStartSlbListenerResponse* _Nullable startSlbListenerResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    getTransferTasks sync request
    @param getTransferTasksRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getTransferTasksResponse` the request response data model
    */
    -(NSDictionary*) getTransferTasksSyncWithRequest:(JdfusionGetTransferTasksRequest*) getTransferTasksRequest;

    -(void)getTransferTasksAsyncWithRequest:(JdfusionGetTransferTasksRequest*) getTransferTasksRequest
    completionHandler:(void(^)(int statusCode,JdfusionGetTransferTasksResponse* _Nullable getTransferTasksResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    createRdsInstance sync request
    @param createRdsInstanceRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createRdsInstanceResponse` the request response data model
    */
    -(NSDictionary*) createRdsInstanceSyncWithRequest:(JdfusionCreateRdsInstanceRequest*) createRdsInstanceRequest;

    -(void)createRdsInstanceAsyncWithRequest:(JdfusionCreateRdsInstanceRequest*) createRdsInstanceRequest
    completionHandler:(void(^)(int statusCode,JdfusionCreateRdsInstanceResponse* _Nullable createRdsInstanceResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    removeDiskById sync request
    @param removeDiskByIdRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `removeDiskByIdResponse` the request response data model
    */
    -(NSDictionary*) removeDiskByIdSyncWithRequest:(JdfusionRemoveDiskByIdRequest*) removeDiskByIdRequest;

    -(void)removeDiskByIdAsyncWithRequest:(JdfusionRemoveDiskByIdRequest*) removeDiskByIdRequest
    completionHandler:(void(^)(int statusCode,JdfusionRemoveDiskByIdResponse* _Nullable removeDiskByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    getVpcSecurityGroupById sync request
    @param getVpcSecurityGroupByIdRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getVpcSecurityGroupByIdResponse` the request response data model
    */
    -(NSDictionary*) getVpcSecurityGroupByIdSyncWithRequest:(JdfusionGetVpcSecurityGroupByIdRequest*) getVpcSecurityGroupByIdRequest;

    -(void)getVpcSecurityGroupByIdAsyncWithRequest:(JdfusionGetVpcSecurityGroupByIdRequest*) getVpcSecurityGroupByIdRequest
    completionHandler:(void(^)(int statusCode,JdfusionGetVpcSecurityGroupByIdResponse* _Nullable getVpcSecurityGroupByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    getRdsInstances sync request
    @param getRdsInstancesRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getRdsInstancesResponse` the request response data model
    */
    -(NSDictionary*) getRdsInstancesSyncWithRequest:(JdfusionGetRdsInstancesRequest*) getRdsInstancesRequest;

    -(void)getRdsInstancesAsyncWithRequest:(JdfusionGetRdsInstancesRequest*) getRdsInstancesRequest
    completionHandler:(void(^)(int statusCode,JdfusionGetRdsInstancesResponse* _Nullable getRdsInstancesResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    getBucketFiles sync request
    @param getBucketFilesRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getBucketFilesResponse` the request response data model
    */
    -(NSDictionary*) getBucketFilesSyncWithRequest:(JdfusionGetBucketFilesRequest*) getBucketFilesRequest;

    -(void)getBucketFilesAsyncWithRequest:(JdfusionGetBucketFilesRequest*) getBucketFilesRequest
    completionHandler:(void(^)(int statusCode,JdfusionGetBucketFilesResponse* _Nullable getBucketFilesResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    deleteVpcNetworkInterfaceById sync request
    @param deleteVpcNetworkInterfaceByIdRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteVpcNetworkInterfaceByIdResponse` the request response data model
    */
    -(NSDictionary*) deleteVpcNetworkInterfaceByIdSyncWithRequest:(JdfusionDeleteVpcNetworkInterfaceByIdRequest*) deleteVpcNetworkInterfaceByIdRequest;

    -(void)deleteVpcNetworkInterfaceByIdAsyncWithRequest:(JdfusionDeleteVpcNetworkInterfaceByIdRequest*) deleteVpcNetworkInterfaceByIdRequest
    completionHandler:(void(^)(int statusCode,JdfusionDeleteVpcNetworkInterfaceByIdResponse* _Nullable deleteVpcNetworkInterfaceByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    getRdsAccountsByInstId sync request
    @param getRdsAccountsByInstIdRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getRdsAccountsByInstIdResponse` the request response data model
    */
    -(NSDictionary*) getRdsAccountsByInstIdSyncWithRequest:(JdfusionGetRdsAccountsByInstIdRequest*) getRdsAccountsByInstIdRequest;

    -(void)getRdsAccountsByInstIdAsyncWithRequest:(JdfusionGetRdsAccountsByInstIdRequest*) getRdsAccountsByInstIdRequest
    completionHandler:(void(^)(int statusCode,JdfusionGetRdsAccountsByInstIdResponse* _Nullable getRdsAccountsByInstIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    getVpcSecurityGroups sync request
    @param getVpcSecurityGroupsRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getVpcSecurityGroupsResponse` the request response data model
    */
    -(NSDictionary*) getVpcSecurityGroupsSyncWithRequest:(JdfusionGetVpcSecurityGroupsRequest*) getVpcSecurityGroupsRequest;

    -(void)getVpcSecurityGroupsAsyncWithRequest:(JdfusionGetVpcSecurityGroupsRequest*) getVpcSecurityGroupsRequest
    completionHandler:(void(^)(int statusCode,JdfusionGetVpcSecurityGroupsResponse* _Nullable getVpcSecurityGroupsResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    createSecurityGroupsRule sync request
    @param createSecurityGroupsRuleRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createSecurityGroupsRuleResponse` the request response data model
    */
    -(NSDictionary*) createSecurityGroupsRuleSyncWithRequest:(JdfusionCreateSecurityGroupsRuleRequest*) createSecurityGroupsRuleRequest;

    -(void)createSecurityGroupsRuleAsyncWithRequest:(JdfusionCreateSecurityGroupsRuleRequest*) createSecurityGroupsRuleRequest
    completionHandler:(void(^)(int statusCode,JdfusionCreateSecurityGroupsRuleResponse* _Nullable createSecurityGroupsRuleResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    applyDeployment sync request
    @param applyDeploymentRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `applyDeploymentResponse` the request response data model
    */
    -(NSDictionary*) applyDeploymentSyncWithRequest:(JdfusionApplyDeploymentRequest*) applyDeploymentRequest;

    -(void)applyDeploymentAsyncWithRequest:(JdfusionApplyDeploymentRequest*) applyDeploymentRequest
    completionHandler:(void(^)(int statusCode,JdfusionApplyDeploymentResponse* _Nullable applyDeploymentResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    getVmKeypairs sync request
    @param getVmKeypairsRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getVmKeypairsResponse` the request response data model
    */
    -(NSDictionary*) getVmKeypairsSyncWithRequest:(JdfusionGetVmKeypairsRequest*) getVmKeypairsRequest;

    -(void)getVmKeypairsAsyncWithRequest:(JdfusionGetVmKeypairsRequest*) getVmKeypairsRequest
    completionHandler:(void(^)(int statusCode,JdfusionGetVmKeypairsResponse* _Nullable getVmKeypairsResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    getVpcSlbById sync request
    @param getVpcSlbByIdRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getVpcSlbByIdResponse` the request response data model
    */
    -(NSDictionary*) getVpcSlbByIdSyncWithRequest:(JdfusionGetVpcSlbByIdRequest*) getVpcSlbByIdRequest;

    -(void)getVpcSlbByIdAsyncWithRequest:(JdfusionGetVpcSlbByIdRequest*) getVpcSlbByIdRequest
    completionHandler:(void(^)(int statusCode,JdfusionGetVpcSlbByIdResponse* _Nullable getVpcSlbByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    deleteDeployment sync request
    @param deleteDeploymentRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteDeploymentResponse` the request response data model
    */
    -(NSDictionary*) deleteDeploymentSyncWithRequest:(JdfusionDeleteDeploymentRequest*) deleteDeploymentRequest;

    -(void)deleteDeploymentAsyncWithRequest:(JdfusionDeleteDeploymentRequest*) deleteDeploymentRequest
    completionHandler:(void(^)(int statusCode,JdfusionDeleteDeploymentResponse* _Nullable deleteDeploymentResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    createVpcSubnet sync request
    @param createVpcSubnetRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createVpcSubnetResponse` the request response data model
    */
    -(NSDictionary*) createVpcSubnetSyncWithRequest:(JdfusionCreateVpcSubnetRequest*) createVpcSubnetRequest;

    -(void)createVpcSubnetAsyncWithRequest:(JdfusionCreateVpcSubnetRequest*) createVpcSubnetRequest
    completionHandler:(void(^)(int statusCode,JdfusionCreateVpcSubnetResponse* _Nullable createVpcSubnetResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    deleteRdsByInstId sync request
    @param deleteRdsByInstIdRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteRdsByInstIdResponse` the request response data model
    */
    -(NSDictionary*) deleteRdsByInstIdSyncWithRequest:(JdfusionDeleteRdsByInstIdRequest*) deleteRdsByInstIdRequest;

    -(void)deleteRdsByInstIdAsyncWithRequest:(JdfusionDeleteRdsByInstIdRequest*) deleteRdsByInstIdRequest
    completionHandler:(void(^)(int statusCode,JdfusionDeleteRdsByInstIdResponse* _Nullable deleteRdsByInstIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    createTransferTask sync request
    @param createTransferTaskRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createTransferTaskResponse` the request response data model
    */
    -(NSDictionary*) createTransferTaskSyncWithRequest:(JdfusionCreateTransferTaskRequest*) createTransferTaskRequest;

    -(void)createTransferTaskAsyncWithRequest:(JdfusionCreateTransferTaskRequest*) createTransferTaskRequest
    completionHandler:(void(^)(int statusCode,JdfusionCreateTransferTaskResponse* _Nullable createTransferTaskResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    getVpcSlbs sync request
    @param getVpcSlbsRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getVpcSlbsResponse` the request response data model
    */
    -(NSDictionary*) getVpcSlbsSyncWithRequest:(JdfusionGetVpcSlbsRequest*) getVpcSlbsRequest;

    -(void)getVpcSlbsAsyncWithRequest:(JdfusionGetVpcSlbsRequest*) getVpcSlbsRequest
    completionHandler:(void(^)(int statusCode,JdfusionGetVpcSlbsResponse* _Nullable getVpcSlbsResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    cloneDeployment sync request
    @param cloneDeploymentRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `cloneDeploymentResponse` the request response data model
    */
    -(NSDictionary*) cloneDeploymentSyncWithRequest:(JdfusionCloneDeploymentRequest*) cloneDeploymentRequest;

    -(void)cloneDeploymentAsyncWithRequest:(JdfusionCloneDeploymentRequest*) cloneDeploymentRequest
    completionHandler:(void(^)(int statusCode,JdfusionCloneDeploymentResponse* _Nullable cloneDeploymentResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    deleteVpcById sync request
    @param deleteVpcByIdRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteVpcByIdResponse` the request response data model
    */
    -(NSDictionary*) deleteVpcByIdSyncWithRequest:(JdfusionDeleteVpcByIdRequest*) deleteVpcByIdRequest;

    -(void)deleteVpcByIdAsyncWithRequest:(JdfusionDeleteVpcByIdRequest*) deleteVpcByIdRequest
    completionHandler:(void(^)(int statusCode,JdfusionDeleteVpcByIdResponse* _Nullable deleteVpcByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    createVpc sync request
    @param createVpcRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createVpcResponse` the request response data model
    */
    -(NSDictionary*) createVpcSyncWithRequest:(JdfusionCreateVpcRequest*) createVpcRequest;

    -(void)createVpcAsyncWithRequest:(JdfusionCreateVpcRequest*) createVpcRequest
    completionHandler:(void(^)(int statusCode,JdfusionCreateVpcResponse* _Nullable createVpcResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    disassociateVpcEipById sync request
    @param disassociateVpcEipByIdRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `disassociateVpcEipByIdResponse` the request response data model
    */
    -(NSDictionary*) disassociateVpcEipByIdSyncWithRequest:(JdfusionDisassociateVpcEipByIdRequest*) disassociateVpcEipByIdRequest;

    -(void)disassociateVpcEipByIdAsyncWithRequest:(JdfusionDisassociateVpcEipByIdRequest*) disassociateVpcEipByIdRequest
    completionHandler:(void(^)(int statusCode,JdfusionDisassociateVpcEipByIdResponse* _Nullable disassociateVpcEipByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    getVpcSubnetById sync request
    @param getVpcSubnetByIdRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getVpcSubnetByIdResponse` the request response data model
    */
    -(NSDictionary*) getVpcSubnetByIdSyncWithRequest:(JdfusionGetVpcSubnetByIdRequest*) getVpcSubnetByIdRequest;

    -(void)getVpcSubnetByIdAsyncWithRequest:(JdfusionGetVpcSubnetByIdRequest*) getVpcSubnetByIdRequest
    completionHandler:(void(^)(int statusCode,JdfusionGetVpcSubnetByIdResponse* _Nullable getVpcSubnetByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    createVpcSecurityGroup sync request
    @param createVpcSecurityGroupRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createVpcSecurityGroupResponse` the request response data model
    */
    -(NSDictionary*) createVpcSecurityGroupSyncWithRequest:(JdfusionCreateVpcSecurityGroupRequest*) createVpcSecurityGroupRequest;

    -(void)createVpcSecurityGroupAsyncWithRequest:(JdfusionCreateVpcSecurityGroupRequest*) createVpcSecurityGroupRequest
    completionHandler:(void(^)(int statusCode,JdfusionCreateVpcSecurityGroupResponse* _Nullable createVpcSecurityGroupResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    getVpcs sync request
    @param getVpcsRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getVpcsResponse` the request response data model
    */
    -(NSDictionary*) getVpcsSyncWithRequest:(JdfusionGetVpcsRequest*) getVpcsRequest;

    -(void)getVpcsAsyncWithRequest:(JdfusionGetVpcsRequest*) getVpcsRequest
    completionHandler:(void(^)(int statusCode,JdfusionGetVpcsResponse* _Nullable getVpcsResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    stopChannel sync request
    @param stopChannelRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `stopChannelResponse` the request response data model
    */
    -(NSDictionary*) stopChannelSyncWithRequest:(JdfusionStopChannelRequest*) stopChannelRequest;

    -(void)stopChannelAsyncWithRequest:(JdfusionStopChannelRequest*) stopChannelRequest
    completionHandler:(void(^)(int statusCode,JdfusionStopChannelResponse* _Nullable stopChannelResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    startSlb sync request
    @param startSlbRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `startSlbResponse` the request response data model
    */
    -(NSDictionary*) startSlbSyncWithRequest:(JdfusionStartSlbRequest*) startSlbRequest;

    -(void)startSlbAsyncWithRequest:(JdfusionStartSlbRequest*) startSlbRequest
    completionHandler:(void(^)(int statusCode,JdfusionStartSlbResponse* _Nullable startSlbResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    getVmInstancesById sync request
    @param getVmInstancesByIdRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getVmInstancesByIdResponse` the request response data model
    */
    -(NSDictionary*) getVmInstancesByIdSyncWithRequest:(JdfusionGetVmInstancesByIdRequest*) getVmInstancesByIdRequest;

    -(void)getVmInstancesByIdAsyncWithRequest:(JdfusionGetVmInstancesByIdRequest*) getVmInstancesByIdRequest
    completionHandler:(void(^)(int statusCode,JdfusionGetVmInstancesByIdResponse* _Nullable getVmInstancesByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    getRegions sync request
    @param getRegionsRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getRegionsResponse` the request response data model
    */
    -(NSDictionary*) getRegionsSyncWithRequest:(JdfusionGetRegionsRequest*) getRegionsRequest;

    -(void)getRegionsAsyncWithRequest:(JdfusionGetRegionsRequest*) getRegionsRequest
    completionHandler:(void(^)(int statusCode,JdfusionGetRegionsResponse* _Nullable getRegionsResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    stopSlb sync request
    @param stopSlbRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `stopSlbResponse` the request response data model
    */
    -(NSDictionary*) stopSlbSyncWithRequest:(JdfusionStopSlbRequest*) stopSlbRequest;

    -(void)stopSlbAsyncWithRequest:(JdfusionStopSlbRequest*) stopSlbRequest
    completionHandler:(void(^)(int statusCode,JdfusionStopSlbResponse* _Nullable stopSlbResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    getTransferTaskProgress sync request
    @param getTransferTaskProgressRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getTransferTaskProgressResponse` the request response data model
    */
    -(NSDictionary*) getTransferTaskProgressSyncWithRequest:(JdfusionGetTransferTaskProgressRequest*) getTransferTaskProgressRequest;

    -(void)getTransferTaskProgressAsyncWithRequest:(JdfusionGetTransferTaskProgressRequest*) getTransferTaskProgressRequest
    completionHandler:(void(^)(int statusCode,JdfusionGetTransferTaskProgressResponse* _Nullable getTransferTaskProgressResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    getVpcVServerGroups sync request
    @param getVpcVServerGroupsRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getVpcVServerGroupsResponse` the request response data model
    */
    -(NSDictionary*) getVpcVServerGroupsSyncWithRequest:(JdfusionGetVpcVServerGroupsRequest*) getVpcVServerGroupsRequest;

    -(void)getVpcVServerGroupsAsyncWithRequest:(JdfusionGetVpcVServerGroupsRequest*) getVpcVServerGroupsRequest
    completionHandler:(void(^)(int statusCode,JdfusionGetVpcVServerGroupsResponse* _Nullable getVpcVServerGroupsResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    deleteTransferTask sync request
    @param deleteTransferTaskRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteTransferTaskResponse` the request response data model
    */
    -(NSDictionary*) deleteTransferTaskSyncWithRequest:(JdfusionDeleteTransferTaskRequest*) deleteTransferTaskRequest;

    -(void)deleteTransferTaskAsyncWithRequest:(JdfusionDeleteTransferTaskRequest*) deleteTransferTaskRequest
    completionHandler:(void(^)(int statusCode,JdfusionDeleteTransferTaskResponse* _Nullable deleteTransferTaskResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    getTransferTaskFailedFiles sync request
    @param getTransferTaskFailedFilesRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getTransferTaskFailedFilesResponse` the request response data model
    */
    -(NSDictionary*) getTransferTaskFailedFilesSyncWithRequest:(JdfusionGetTransferTaskFailedFilesRequest*) getTransferTaskFailedFilesRequest;

    -(void)getTransferTaskFailedFilesAsyncWithRequest:(JdfusionGetTransferTaskFailedFilesRequest*) getTransferTaskFailedFilesRequest
    completionHandler:(void(^)(int statusCode,JdfusionGetTransferTaskFailedFilesResponse* _Nullable getTransferTaskFailedFilesResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    createRdsAccounts sync request
    @param createRdsAccountsRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createRdsAccountsResponse` the request response data model
    */
    -(NSDictionary*) createRdsAccountsSyncWithRequest:(JdfusionCreateRdsAccountsRequest*) createRdsAccountsRequest;

    -(void)createRdsAccountsAsyncWithRequest:(JdfusionCreateRdsAccountsRequest*) createRdsAccountsRequest
    completionHandler:(void(^)(int statusCode,JdfusionCreateRdsAccountsResponse* _Nullable createRdsAccountsResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    createVpcVServerGroup sync request
    @param createVpcVServerGroupRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createVpcVServerGroupResponse` the request response data model
    */
    -(NSDictionary*) createVpcVServerGroupSyncWithRequest:(JdfusionCreateVpcVServerGroupRequest*) createVpcVServerGroupRequest;

    -(void)createVpcVServerGroupAsyncWithRequest:(JdfusionCreateVpcVServerGroupRequest*) createVpcVServerGroupRequest
    completionHandler:(void(^)(int statusCode,JdfusionCreateVpcVServerGroupResponse* _Nullable createVpcVServerGroupResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    getTaskInfoById sync request
    @param getTaskInfoByIdRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getTaskInfoByIdResponse` the request response data model
    */
    -(NSDictionary*) getTaskInfoByIdSyncWithRequest:(JdfusionGetTaskInfoByIdRequest*) getTaskInfoByIdRequest;

    -(void)getTaskInfoByIdAsyncWithRequest:(JdfusionGetTaskInfoByIdRequest*) getTaskInfoByIdRequest
    completionHandler:(void(^)(int statusCode,JdfusionGetTaskInfoByIdResponse* _Nullable getTaskInfoByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    createDisk sync request
    @param createDiskRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createDiskResponse` the request response data model
    */
    -(NSDictionary*) createDiskSyncWithRequest:(JdfusionCreateDiskRequest*) createDiskRequest;

    -(void)createDiskAsyncWithRequest:(JdfusionCreateDiskRequest*) createDiskRequest
    completionHandler:(void(^)(int statusCode,JdfusionCreateDiskResponse* _Nullable createDiskResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    grantRdsAccountsByTask sync request
    @param grantRdsAccountsByTaskRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `grantRdsAccountsByTaskResponse` the request response data model
    */
    -(NSDictionary*) grantRdsAccountsByTaskSyncWithRequest:(JdfusionGrantRdsAccountsByTaskRequest*) grantRdsAccountsByTaskRequest;

    -(void)grantRdsAccountsByTaskAsyncWithRequest:(JdfusionGrantRdsAccountsByTaskRequest*) grantRdsAccountsByTaskRequest
    completionHandler:(void(^)(int statusCode,JdfusionGrantRdsAccountsByTaskResponse* _Nullable grantRdsAccountsByTaskResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    getDisks sync request
    @param getDisksRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getDisksResponse` the request response data model
    */
    -(NSDictionary*) getDisksSyncWithRequest:(JdfusionGetDisksRequest*) getDisksRequest;

    -(void)getDisksAsyncWithRequest:(JdfusionGetDisksRequest*) getDisksRequest
    completionHandler:(void(^)(int statusCode,JdfusionGetDisksResponse* _Nullable getDisksResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    detachVpcNetworkInterfaceById sync request
    @param detachVpcNetworkInterfaceByIdRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `detachVpcNetworkInterfaceByIdResponse` the request response data model
    */
    -(NSDictionary*) detachVpcNetworkInterfaceByIdSyncWithRequest:(JdfusionDetachVpcNetworkInterfaceByIdRequest*) detachVpcNetworkInterfaceByIdRequest;

    -(void)detachVpcNetworkInterfaceByIdAsyncWithRequest:(JdfusionDetachVpcNetworkInterfaceByIdRequest*) detachVpcNetworkInterfaceByIdRequest
    completionHandler:(void(^)(int statusCode,JdfusionDetachVpcNetworkInterfaceByIdResponse* _Nullable detachVpcNetworkInterfaceByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    createVmInstance sync request
    @param createVmInstanceRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createVmInstanceResponse` the request response data model
    */
    -(NSDictionary*) createVmInstanceSyncWithRequest:(JdfusionCreateVmInstanceRequest*) createVmInstanceRequest;

    -(void)createVmInstanceAsyncWithRequest:(JdfusionCreateVmInstanceRequest*) createVmInstanceRequest
    completionHandler:(void(^)(int statusCode,JdfusionCreateVmInstanceResponse* _Nullable createVmInstanceResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    deleteSlbsListener sync request
    @param deleteSlbsListenerRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteSlbsListenerResponse` the request response data model
    */
    -(NSDictionary*) deleteSlbsListenerSyncWithRequest:(JdfusionDeleteSlbsListenerRequest*) deleteSlbsListenerRequest;

    -(void)deleteSlbsListenerAsyncWithRequest:(JdfusionDeleteSlbsListenerRequest*) deleteSlbsListenerRequest
    completionHandler:(void(^)(int statusCode,JdfusionDeleteSlbsListenerResponse* _Nullable deleteSlbsListenerResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    getCloudInfoById sync request
    @param getCloudInfoByIdRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getCloudInfoByIdResponse` the request response data model
    */
    -(NSDictionary*) getCloudInfoByIdSyncWithRequest:(JdfusionGetCloudInfoByIdRequest*) getCloudInfoByIdRequest;

    -(void)getCloudInfoByIdAsyncWithRequest:(JdfusionGetCloudInfoByIdRequest*) getCloudInfoByIdRequest
    completionHandler:(void(^)(int statusCode,JdfusionGetCloudInfoByIdResponse* _Nullable getCloudInfoByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    deleteVmKeypairByName sync request
    @param deleteVmKeypairByNameRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteVmKeypairByNameResponse` the request response data model
    */
    -(NSDictionary*) deleteVmKeypairByNameSyncWithRequest:(JdfusionDeleteVmKeypairByNameRequest*) deleteVmKeypairByNameRequest;

    -(void)deleteVmKeypairByNameAsyncWithRequest:(JdfusionDeleteVmKeypairByNameRequest*) deleteVmKeypairByNameRequest
    completionHandler:(void(^)(int statusCode,JdfusionDeleteVmKeypairByNameResponse* _Nullable deleteVmKeypairByNameResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    stopVmInstanceById sync request
    @param stopVmInstanceByIdRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `stopVmInstanceByIdResponse` the request response data model
    */
    -(NSDictionary*) stopVmInstanceByIdSyncWithRequest:(JdfusionStopVmInstanceByIdRequest*) stopVmInstanceByIdRequest;

    -(void)stopVmInstanceByIdAsyncWithRequest:(JdfusionStopVmInstanceByIdRequest*) stopVmInstanceByIdRequest
    completionHandler:(void(^)(int statusCode,JdfusionStopVmInstanceByIdResponse* _Nullable stopVmInstanceByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    revokeRdsAccount sync request
    @param revokeRdsAccountRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `revokeRdsAccountResponse` the request response data model
    */
    -(NSDictionary*) revokeRdsAccountSyncWithRequest:(JdfusionRevokeRdsAccountRequest*) revokeRdsAccountRequest;

    -(void)revokeRdsAccountAsyncWithRequest:(JdfusionRevokeRdsAccountRequest*) revokeRdsAccountRequest
    completionHandler:(void(^)(int statusCode,JdfusionRevokeRdsAccountResponse* _Nullable revokeRdsAccountResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    getDiskById sync request
    @param getDiskByIdRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getDiskByIdResponse` the request response data model
    */
    -(NSDictionary*) getDiskByIdSyncWithRequest:(JdfusionGetDiskByIdRequest*) getDiskByIdRequest;

    -(void)getDiskByIdAsyncWithRequest:(JdfusionGetDiskByIdRequest*) getDiskByIdRequest
    completionHandler:(void(^)(int statusCode,JdfusionGetDiskByIdResponse* _Nullable getDiskByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    getVmImages sync request
    @param getVmImagesRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getVmImagesResponse` the request response data model
    */
    -(NSDictionary*) getVmImagesSyncWithRequest:(JdfusionGetVmImagesRequest*) getVmImagesRequest;

    -(void)getVmImagesAsyncWithRequest:(JdfusionGetVmImagesRequest*) getVmImagesRequest
    completionHandler:(void(^)(int statusCode,JdfusionGetVmImagesResponse* _Nullable getVmImagesResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    editDeployment sync request
    @param editDeploymentRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `editDeploymentResponse` the request response data model
    */
    -(NSDictionary*) editDeploymentSyncWithRequest:(JdfusionEditDeploymentRequest*) editDeploymentRequest;

    -(void)editDeploymentAsyncWithRequest:(JdfusionEditDeploymentRequest*) editDeploymentRequest
    completionHandler:(void(^)(int statusCode,JdfusionEditDeploymentResponse* _Nullable editDeploymentResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    deleteDatasource sync request
    @param deleteDatasourceRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteDatasourceResponse` the request response data model
    */
    -(NSDictionary*) deleteDatasourceSyncWithRequest:(JdfusionDeleteDatasourceRequest*) deleteDatasourceRequest;

    -(void)deleteDatasourceAsyncWithRequest:(JdfusionDeleteDatasourceRequest*) deleteDatasourceRequest
    completionHandler:(void(^)(int statusCode,JdfusionDeleteDatasourceResponse* _Nullable deleteDatasourceResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    deleteVpcSlbById sync request
    @param deleteVpcSlbByIdRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteVpcSlbByIdResponse` the request response data model
    */
    -(NSDictionary*) deleteVpcSlbByIdSyncWithRequest:(JdfusionDeleteVpcSlbByIdRequest*) deleteVpcSlbByIdRequest;

    -(void)deleteVpcSlbByIdAsyncWithRequest:(JdfusionDeleteVpcSlbByIdRequest*) deleteVpcSlbByIdRequest
    completionHandler:(void(^)(int statusCode,JdfusionDeleteVpcSlbByIdResponse* _Nullable deleteVpcSlbByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    deleteVmInstanceById sync request
    @param deleteVmInstanceByIdRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteVmInstanceByIdResponse` the request response data model
    */
    -(NSDictionary*) deleteVmInstanceByIdSyncWithRequest:(JdfusionDeleteVmInstanceByIdRequest*) deleteVmInstanceByIdRequest;

    -(void)deleteVmInstanceByIdAsyncWithRequest:(JdfusionDeleteVmInstanceByIdRequest*) deleteVmInstanceByIdRequest
    completionHandler:(void(^)(int statusCode,JdfusionDeleteVmInstanceByIdResponse* _Nullable deleteVmInstanceByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    getVmInstanceTypes sync request
    @param getVmInstanceTypesRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getVmInstanceTypesResponse` the request response data model
    */
    -(NSDictionary*) getVmInstanceTypesSyncWithRequest:(JdfusionGetVmInstanceTypesRequest*) getVmInstanceTypesRequest;

    -(void)getVmInstanceTypesAsyncWithRequest:(JdfusionGetVmInstanceTypesRequest*) getVmInstanceTypesRequest
    completionHandler:(void(^)(int statusCode,JdfusionGetVmInstanceTypesResponse* _Nullable getVmInstanceTypesResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;
    /**
    createBucket sync request
    @param createBucketRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createBucketResponse` the request response data model
    */
    -(NSDictionary*) createBucketSyncWithRequest:(JdfusionCreateBucketRequest*) createBucketRequest;

    -(void)createBucketAsyncWithRequest:(JdfusionCreateBucketRequest*) createBucketRequest
    completionHandler:(void(^)(int statusCode,JdfusionCreateBucketResponse* _Nullable createBucketResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;

    /**
    jdfusion common sync request
    @param  jdcloudDataRequest request param
    @return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
    */
    -(NSDictionary*) jdfusionCommonSyncWithRequest:(JDCloudDataRequest*) jdcloudDataRequest
                                           url:(NSString*) url
                                        method:(NSString*) method;

    -(void)jdfusionCommonAsyncWithRequest:(JDCloudDataRequest*) jdcloudDataRequest
                                  url:(NSString*) url
                               method:(NSString*) method
                    completionHandler:(void(^)(int statusCode, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler;

    @end


    #endif /* JdfusionClient_h */
